from utils.tools import SQLProcessing


class QUERY_SQL:
    """用于管理查询SQL语句"""

    ################################  会有SQL注入风险，后续优化  ################################
    @staticmethod
    def QueryOndemandSQL(fields: list, table, condition=None) -> str:
        """
        Args:
            condition: 传入一个字符串, sql中的where条件
            table: 传入一个字符串， 所要查询的表名
            fields: 传入一个list，里面包含所要查询的字段
        Returns:
            resource_SQL: 返回一个字符串, 组装好的sql语句
        """

        fields = SQLProcessing.ListToFields(fields)
        resource_SQL = f"SELECT {fields} FROM {table} "
        if condition:
            resource_SQL += f"where {condition}"
        # print(resource_SQL)
        return resource_SQL

    @staticmethod
    def QueryCountOndemandSQL(table, condition=False) -> str:
        """
        Args:
            table: 传入一个字符串， 所要查询的表名
            condition: 传入一个字符串, sql中的where条件
        Returns:
        """
        resource_SQL = f"SELECT COUNT(*) FROM {table} "
        if condition:
            resource_SQL += f"where {condition}"
        print(resource_SQL)
        return resource_SQL



